
sequenceDiagram
    participant MA as MainApp
    participant S as Scheduler
    participant F as Fetcher
    participant T as Translator
    participant W as WebhookSender
    participant C as ConfigLoader
    MA->>C: load_config()
    C-->>MA: return config
    MA->>S: schedule_fetching()
    loop Every N Hours
        S->>F: fetch_abstracts(keywords)
        F-->>S: return abstracts
        S->>T: translate(abstract, 'zh')
        T-->>S: return translated_text
        S->>W: send_to_dingtalk(translated_text, webhook_url)
    end
